namespace SupplierCustomerManagement.Read.API.Dtos.ReportForms
{
    public class ProductionTableRowDto
    {
        public string Category { get; set; } = string.Empty; // 类别：配种/分娩/断奶/存栏等

        // 配种
        public int ReserveMating { get; set; }
        public int WeaningMating { get; set; }
        public int ReturnMating { get; set; }
        public int NotPregnantMating { get; set; }
        public int EmptyMating { get; set; }
        public int AbortionMating { get; set; }
        public int OtherMating { get; set; }
        public int TotalMating { get; set; }

        // 分娩
        public int LitterCount { get; set; }
        public int HealthyLamb { get; set; }
        public int WeakLamb { get; set; }
        public int Stillbirth { get; set; }
        public int Mummy { get; set; }
        public int Deformed { get; set; }
        public int Abnormal { get; set; }
        public int TotalLiveBirth { get; set; }
        public int TotalLiveLamb { get; set; }

        // 断奶
        public int WeanedLitter { get; set; }
        public int WeanedLamb { get; set; }
        public decimal TotalWeight { get; set; }
        public int CorrespondingHealthy { get; set; }
        public int CorrespondingWeak { get; set; }
        public int CorrespondingTotal { get; set; }

        // 存栏变动/转入
        public int Purchase { get; set; }
        public int ReserveIn { get; set; }
        public int Lambing { get; set; }
        public int AllocationIn { get; set; }
        public int InventoryIn { get; set; }
        public int RecoveryIn { get; set; }
        public int TotalIn { get; set; }

        // 期初/转出/期末
        public int Beginning { get; set; }
        public int Sales { get; set; }
        public int Death { get; set; }
        public int Culling { get; set; }
        public int OtherOut { get; set; }
        public int AllocationOut { get; set; }
        public int InventoryOut { get; set; }
        public int SeedlingOut { get; set; }
        public int TotalOut { get; set; }
        public int Ending { get; set; }
    }
}
